The present invention relates to a diagnostic method for processors, which is capable of detecting faults in the processors as the component parts of the information processing system while the system is operating, and also relates to an information processing system and a diagnostic program for use with the diagnostic method. More particularly, the present invention concerns a diagnostic method which can decrease load on the system, which occurs when diagnosis is executed.
The improvement of reliability of the information processing system has been the important issue for a long time regardless of the scale and type of the system. The regions as the objects of reliability improvement are wide-ranging but, above all else, for the processor, which is the core of the system, various methods have been tried to improve the reliability, such as, by hardware or by software or by a combination of both.
Among the methods using hardware, there are a method which uses dedicated resources for reliability improvement provided in the processor and special-purpose microcodes as described in JP-A-6-28328, or another method which uses, besides the processor, hardware dedicated to reliability improvement as described in JP-A-10-247185, or a still other method in which resources, which require high reliability, are used in multiple configurations, and many other methods.
The methods which provide hardware are advantageous in that diagnosis can be executed in the background and that time required for diagnosis can be shortened, but they have a problem of increased cost. For this reason, in the cases where emphasis is placed on the performance of the whole system or on the cost performance rate, it may be difficult to adopt this kind of method. In such cases, the often adopted methods are a method in which diagnosis is executed only by software, or a method in which a minimum amount of hardware is added and then diagnosis is executed by software.
Among the methods to execute a diagnostic program for improvement of reliability, as disclosed in JP-A-6-149612 for example, there is a method which executes diagnosis by solely running a diagnostic program by using resources applicable to diagnosis by occupying or by almost constantly occupying them. Or, as disclosed in JP-A-6-83667, there is a method to execute a diagnostic program in parallel while an application is running.